Starting with gtk-2.20.0 there is a gdk_screen_get_primary_monitor,
which supports querying the primary monitor from xrandr.
But due to a sorting bug and lack of heuristics in the fallback path,
it isn't really useable.
Those bugs are fixed in gtk-2.20.1, so use it when building with
gtk-2.20.1+.
https://bugzilla.gnome.org/show_bug.cgi?id=608647
{
GdkScreen *screen = gdk_screen_get_default ();
GdkRectangle rect;
- gint i, primary = 0;
+ gint primary = 0;
+
+ /* gdk_screen_get_primary_monitor is only present in gtk-2.20+
+ * and is in a useable state (supports heuristics and fallback modes)
+ * starting with 2.20.1
+ */
+#if !GTK_CHECK_VERSION (2, 20, 1)
+ gint i;
gchar *output_name = NULL;
gint num_monitors = gdk_screen_get_n_monitors (screen);
}
}
}
+#else
+ primary = gdk_screen_get_primary_monitor (screen);
+#endif
gdk_screen_get_monitor_geometry (screen, primary, &rect);